#pragma once
#ifndef SMPPQUERYSMRESP_HPP
#define SMPPQUERYSMRESP_HPP

#include "SMPPHeader.hpp"

namespace smpp {
namespace pdu{

class SMPP_DLLPRFX QuerySMResp : public Header {
	CoctetString _MessageId;
	CoctetString _FinalDate;
	quint8 _MessageState;
	quint8 _ErrorCode;
public:
	QuerySMResp(const Header &nHeader = Header(),
		CoctetString nMessageId = "",
		CoctetString nFinalDate = "",
		quint8 nMessageState = 0,
		quint8 nErrorCode = 0);

	QuerySMResp(const QuerySMResp &);

	void setMessageId(const CoctetString &);

	const CoctetString &getMessageId() const;

	void setFinalDate(const CoctetString &);

	const CoctetString &getFinalDate() const;

	void setMessageState(const quint8);

	const quint8 getMessageState() const;

	void setErrorCode(const quint8);

	const quint8 getErrorCode() const;

	void calcCommandLength();
};

}
}

#endif
